package marca;

import java.util.ArrayList;

import cliente.Cliente;
import cliente.ICliente;

import locacao.ILocacao;
import locacao.Locacao;

import funcionario.Funcionario;

public class RepositorioMarca implements IMarca {

	private static ArrayList<Marca> listaMarcas = new ArrayList<Marca>();
	private static int contId = 1;
	private Marca marca;

	@Override
	public void adicionar(Marca marca) {
		marca.setId(contId);
		listaMarcas.add(marca);
		this.contId++;
	}

	@Override
	public void editar(Marca marca) {
		this.marca = pesquisar(marca.getId());
		int index = listaMarcas.indexOf(this.marca);
		listaMarcas.set(index, marca);
	}

	@Override
	public void remover(int IdMarca) {
		this.marca = pesquisar(IdMarca);
		this.listaMarcas.remove(this.marca);
	}

	@Override
	public int existe(int IdMarca) {
		int res = 0;
		this.marca = null;
		this.marca = pesquisar(IdMarca);
		if(this.marca != null){
			res = 1;
		}
		return res;
	}

	@Override
	public Marca pesquisar(int idMarca) {
		this.marca = null;
		for (Marca marca : listaMarcas) {
			if (marca.getId() == idMarca) {
				this.marca = marca;
				break;
			}
		}
		return this.marca;
	}

	@Override
	public ArrayList<Marca> listar() {
		return this.listaMarcas;
	}

	@Override
	public ArrayList<Marca> listar(int idTipo) {
		ArrayList<Marca> marcas = new ArrayList<Marca>();
		for (Marca marca : this.listaMarcas) {
			if(marca.getTipo().getId() == idTipo){
				marcas.add(marca);
			}
		}
		return marcas;
	}
	
	public ArrayList<Marca>  listar(String nome){
		ArrayList<Marca> marcas = new ArrayList<Marca>();
		int tam = nome.trim().length();
		for(Marca marca : this.listaMarcas){
			int tamM = marca.getNome().trim().length();
			String nomeM = marca.getNome().trim().toLowerCase();
			if(nome.equals(nomeM.trim().toLowerCase())){
				marcas.add(marca);
			}
		}
		return marcas;
	}

	

}
